The Freescape engine was an early 3D game engine used in games such as 1987's Driller.
Contents |
Developed in-house by Incentive Software, Freescape is considered to be one of the first proprietary 3D engines to be used in computer games, although the engine was not used commercially outside of Incentive's own titles.[1] The project was originally thought to be so ambitious that according to Incentive designer Ian Andrew, the company struggled to recruit programmers for the project, with many believing that it could not be achieved.
Paul Gregory (graphics artist for Major Developments, Incentive's in-house design team) mentions [2] that Freescape was developed on an Amstrad CPC, as it was the most suitable development system and had adequate power to run 3D environments. Due to the engine's success, it was later ported to all the dominant systems of the era: the ZX Spectrum, the IBM PC, the Commodore 64, Commodore Amiga and Atari ST.
The Freescape engine allowed the generation of complete 3D environments that consist of a floor and as many primitives as memory and processor speed realistically allowed for. These primitives were cuboids, four-sided frustums (called pyramids by Freescape), triangles, rectangles, quadrilaterals, pentagons, hexagons and line segments. A further primitive, "sensor", was used for gaming purpose to detect the position of the camera relative to the sensor in the game world.
Freescape was designed with limited hardware in mind and as such contains a number of inherent limitations that are necessary to enable the games to run properly on these computers:
Games used the Freescape Command Language ('FCL'), an early in-game scripting language, to add interactive elements to Freescape worlds. Scripts may be set to run constantly for the entire world or run constantly for a certain area, or may be attached to individual objects where they will be run once if the object is shot, activated or collided with. Versions of Freescape for the Amiga, Atari ST and PC also supported 'animators', which were FCL programs that use a few extra instructions to create on-screen animations.
|